<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Icon
Step1:  First, grab a FontAwesome instance which knows about all of the icons.
Step2:  fa exposes Python-friendly, autocompletable names for all of the FontAwesome icons, and you can preview them immediately.
Step3:  You can apply effects like rotation and scaling.
Step4:  The actual widget supports the stack case, such that you can display a single icon...
Step5:  Or several icons stacked together...
<ASSISTANT_TASK:>
Python Code:
from IPython.html import widgets
from ipbs.widgets import Icon
import ipbs.bootstrap as bs
from ipbs.icons import FontAwesome, Size
Explanation: Icon
End of explanation
fa = FontAwesome()
Explanation: First, grab a FontAwesome instance which knows about all of the icons.
End of explanation
fa.space_shuttle
Explanation: fa exposes Python-friendly, autocompletable names for all of the FontAwesome icons, and you can preview them immediately.
End of explanation
fa.space_shuttle.rotate_270 * 3
Explanation: You can apply effects like rotation and scaling.
End of explanation
icon = Icon(fa.space_shuttle)
icon
Explanation: The actual widget supports the stack case, such that you can display a single icon...
End of explanation
icon = Icon(fa.square * 2, fa.empire.context_inverse, size=Size.x3)
icon
Explanation: Or several icons stacked together...
End of explanation
<END_TASK>