General cleanup of legacy code. Added basic functionality for Button as
proof of concept